Стек представља колекцију података у коју се подаци додају по LIFO
(енгл. last-in-first out) принципу - елемент се може додати само на врх
и скинути само са врха стека.
У језику C++ стек се реализује класом stack<T> где
T представља тип елемената на стеку. За њено коришћење
потребно је укључити заглавље <stack>. Подржане су
следеће методе (све сложености \(O(1)\)):
push - поставља дати елемент на врх стека
pop - скида елемент са врха стека (под претпоставком да
стек није празан – ако је стек празан, понашање је недефинисано и може
доћи до насилног прекида рада програма). Нагласимо да је ова метода типа
void и да не враћа уклоњени елемент.
top - очитава елемент на врху стека (под претпоставком
да стек није празан)
empty - проверава да ли је стек празан
size - враћа број елемената на стеку.
Ако се на стеку чувају уређени парови или n-торке, тада се уместо
методе push, може користити метода emplace,
којој се само редом наводе елементи пара тј. n-торке (није потребно
посебно позивати функцију за креирање пара тј. n-торке, што је неопходно
када се користи push).
Стек у језику C++ је заправо само адаптер око неке колекције података
(подразумевано вектора) који корисника тера да поштује правила приступа
стеку и спречава да направи операцију која над стеком није допуштена
(попут приступа неком елементу испод врха).
Стек
Стек представља колекцију података у коју се подаци додају по LIFO
(енгл. last-in-first out) принципу - елемент се може додати само на врх
и скинути само са врха стека.
Petlja.org користи колачиће како би вам пружио најбоље корисничко искуство. Наставком коришћења сајта сматраћемо да се сагласни са коришћењем колачића. Сазнајте више